SQL Data Workbench

Query the SWGEmu creature data using SQL. All data is loaded into an in-browser SQLite database powered by SQL.js.

How to Use

  1. Write your SQL query in the editor below
  2. Click Run Query (or press Ctrl+Enter)
  3. Results appear in the table below
  4. Use the Schema Reference to see available tables and columns
Loading SQL.js and data… Please wait.

Example Queries

Lowest level creatures with armor

SELECT creatureName, level, armor, kinetic, energy FROM creatures WHERE armor > 0 ORDER BY level LIMIT 15

Creatures with highest HAM per level (outliers)

SELECT creatureName, level, baseHAM, ROUND(CAST(baseHAM AS FLOAT) / level, 1) as ham_per_level FROM creatures WHERE level > 0 ORDER BY ham_per_level DESC LIMIT 20

Creatures with special resists (effective resists)

SELECT creatureName, level, kinetic, energy, heat, cold, electricity, acid FROM creatures WHERE kineticEffective = 1 OR energyEffective = 1 ORDER BY level DESC LIMIT 20

All creatures in a specific spawn zone

SELECT DISTINCT c.creatureName, c.level, c.socialGroup, z.planet FROM creatures c JOIN lair_mobiles lm ON c.creatureName = lm.creatureName JOIN lair_spawn_groups lsg ON lm.lairName = lsg.lairTemplateName JOIN zones z ON lsg.spawnGroupName = z.spawnZone WHERE z.spawnZone = ‘corellia_easy_nw’ ORDER BY c.level

Count creatures by social group

SELECT socialGroup, COUNT(*) as count, ROUND(AVG(level), 1) as avg_level, MIN(level) as min_level, MAX(level) as max_level FROM creatures GROUP BY socialGroup ORDER BY count DESC

Planets with most static spawns

SELECT zone_id as planet, COUNT(*) as spawn_count, COUNT(DISTINCT mobile) as unique_creatures FROM static_spawns GROUP BY zone_id ORDER BY spawn_count DESC

Creatures that appear in multiple planets

SELECT c.creatureName, COUNT(DISTINCT z.planet) as planet_count, GROUP_CONCAT(DISTINCT z.planet) as planets FROM creatures c JOIN lair_mobiles lm ON c.creatureName = lm.creatureName JOIN lair_spawn_groups lsg ON lm.lairName = lsg.lairTemplateName JOIN zones z ON lsg.spawnGroupName = z.spawnZone GROUP BY c.creatureName HAVING planet_count > 1 ORDER BY planet_count DESC LIMIT 20

Resource yields by creature

SELECT creatureName, level, meatType, meatAmount, hideType, hideAmount, boneType, boneAmount, milkType, milkAmount FROM creatures WHERE meatAmount > 0 OR hideAmount > 0 OR boneAmount > 0 ORDER BY level LIMIT 30